import { NDataTable } from 'naive-ui'

export const tableProps = {
  ...NDataTable.props,
  /* 初始化接口请求 */
  request: {
    type: Function,
    default: null
  },
  /* 分页信息 */
  pagination: {
    type: [Object, Boolean],
    default: () => {}
  },
  /* 数据格式 */
  dataType: {
    type: String,
    default: 'flat',
    validator: (value) => {
      return ['flat', 'tree'].indexOf(value) !== -1
    }
  },
  /* 分页设置信息 */
  paginationSetting: {
    type: Object,
    default: () => {
      return {
        // 当前页的字段名
        pageField: 'page',
        // 每页数量字段名
        sizeField: 'limit',
        // 接口返回的字段名
        listPageField: 'current',
        // 接口返回的数据字段名
        listField: 'records',
        // 接口返回总页数字段名
        totalField: 'total',
        // 默认分页数量
        pageSize: 10,
        // 可切换每页数量集合
        pageSizes: [10, 20, 50, 100],
        // 是否显示每页条数的选择器
        showSizePicker: true,
        // 是否显示快速跳转
        showQuickJumper: true
      }
    }
  }
}
